home *** CD-ROM | disk | FTP | other *** search
- /* $VER: 1.0, ©1996 Dietmar Eilert. Bookmark management */
-
- OPTIONS RESULTS /* enable return codes */
- arg mode
-
- if (LEFT(ADDRESS(), 6) ~= "GOLDED") then /* not started by GoldEd ? */
- address 'GOLDED.1'
-
- 'LOCK CURRENT RELEASE=4' /* lock GUI, gain access */
-
- if (RC ~= 0) then
- exit
-
- OPTIONS FAILAT 6 /* ignore warnings */
-
- SIGNAL ON SYNTAX /* ensure clean exit */
-
- /* ------------------------ INSERT YOUR CODE HERE: ------------------- */
-
- if (mode = "ADD") then do
-
- 'QUERY BLOCK'
-
- if (RESULT = 0) then do
-
- 'REQUEST STATUS="Tip: Mark URL before you use this function"'
-
- NEWURL="http://"
- end
- else do
-
- 'FIND BLOCK'
-
- 'QUERY FIND VAR=NEWURL'
- end
-
- 'FIX VAR=NEWURL'
-
- 'REQUEST STRING TITLE="Add to address book: Bookmark name" VAR=NEWNAME OLD="unnamed"'
-
- call loadbookmarks
-
- /* add bookmark to bookmarks, save bookmark file */
-
- if ((RC = 0) & (NEWNAME ~= "")) then do
-
- 'REQUEST STRING TITLE="Add to address book: URL" OLD="' || NEWURL || '" VAR=NEWURL'
-
- if (RC = 0) then do
-
- ENTRIES = ENTRIES + 1
-
- BOOKMARK.ENTRIES.ENTRY_NAME = NEWNAME
- BOOKMARK.ENTRIES.ENTRY_URL = NEWURL
-
- call savebookmarks
- end
- end
- end
- else if (mode = "DEL") then do
-
- call loadbookmarks
-
- if (ENTRIES = 0) then
-
- 'REQUEST PROBLEM="Bookmark file empty"'
-
- else do
-
- /* show list of available bookmarks */
-
- COMMAND
-
- /* remove bookmark from bookmarks, save bookmark file */
-
- if (RC = 0) then do
-
- SELECTION = RESULT
-
- do ENTRY = 1 to ENTRIES
-
- if (BOOKMARK.ENTRY.ENTRY_NAME = SELECTION) then do
-
- BOOKMARK.ENTRY.ENTRY_NAME = BOOKMARK.ENTRIES.ENTRY_NAME
- BOOKMARK.ENTRY.ENTRY_URL = BOOKMARK.ENTRIES.ENTRY_URL
-
- ENTRIES = ENTRIES - 1
- end
- end
-
- call savebookmarks
- end
- end
- end
- else do
-
- call loadbookmarks
-
- if (ENTRIES = 0) then
-
- 'REQUEST PROBLEM="Bookmark file empty"'
-
- else do
-
- /* show list of available bookmarks */
-
- COMMAND
-
- /* insert URL of selected bookmark into text */
-
- if (RC = 0) then do
-
- SELECTION = RESULT
-
- do ENTRY = 1 to ENTRIES
-
- if (BOOKMARK.ENTRY.ENTRY_NAME = SELECTION) then do
-
- ADDRESS = BOOKMARK.ENTRY.ENTRY_URL
-
- 'FIX VAR=ADDRESS'
-
- 'TEXT T="' || ADDRESS || '"'
- end
- end
- end
- end
- end
-
- /* ---------------------------- END OF YOUR CODE --------------------- */
-
- 'UNLOCK' /* VERY important: unlock GUI */
-
- exit
-
- SYNTAX:
-
- SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
-
- 'UNLOCK'
-
- exit
-
- /* ------------------------------ PROCEDURES ------------------------- */
-
- loadbookmarks:
-
- ENTRIES = 0
-
- if (open('bookmarks', 'golded:tools/www/bookmarks', 'R')) then do
-
- COMMAND = 'REQLIST SORT '
-
- /* read bookmark file */
-
- do forever
-
- NAME = readln('bookmarks')
-
- if (eof('bookmarks')) then
-
- break
-
- COMMAND = COMMAND || '"' || NAME || '" '
-
- ENTRIES = ENTRIES + 1
-
- BOOKMARK.ENTRIES.ENTRY_NAME = NAME
- BOOKMARK.ENTRIES.ENTRY_URL = readln('bookmarks')
-
- end
-
- OK = close('bookmarks')
- end
- else
- 'REQUEST PROBLEM="Bookmark file not found"'
-
- return
-
- savebookmarks:
-
- if (open('bookmarks', 'golded:tools/www/bookmarks', 'W')) then do
-
- do ENTRY = 1 to ENTRIES
-
- OK = writeln('bookmarks', BOOKMARK.ENTRY.ENTRY_NAME)
- OK = writeln('bookmarks', BOOKMARK.ENTRY.ENTRY_URL)
-
- end
-
- OK = close('bookmarks')
- end
-